#ifndef CARD_HPP_INCLUDED
#define CARD_HPP_INCLUDED

#include <set>

using namespace std;

namespace mtga {

	enum class CardType {
		Land, Creature, Instant, Sorcery, Artifact, Planeswalker
	};

	class Card {
		public:
			Card(string name, int cmc, string cmcString);
			virtual ~Card();

			virtual bool isCardType(CardType type);

			string getName() const {
				return name;
			}
			string getCmcString() const {
				return cmcString;
			}
			int getCmc() const {
				return cmc;
			}
			set<CardType>* getCardTypes() const {
				return cardTypes;
			}

		private:
			string name;
			string cmcString;
			int cmc;
			set<CardType>* cardTypes;

	};
}

#endif
